API Documentation
RenderQueue.h
1 // RenderQueue.h
3 //
5 
6 namespace nkGraphics
7 {
14  class DLL_GRAPHICS_EXPORT RenderQueue : public nkExport::Exportable
15  {
16  public :
17 
18  // Getters
33  bool getRaytraced () const ;
37  bool getHidden () const ;
38 
39  // Setters
43  virtual void setName (const nkMemory::StringView& name) ;
50  virtual void setRaytraced (bool value) ;
56  void setHidden (bool value) ;
57 
63  virtual Entity* addEntity () ;
69  virtual void eraseEntity (Entity* ent) ;
73  virtual void clearQueue () ;
77  unsigned int getEntityCount () const ;
82  Entity* getEntity (unsigned int index) const ;
86  unsigned int getRenderableCount () const ;
87 
94  virtual void updateEntityNode (Entity* ent) ;
101  virtual void updateAddMesh (SubEntity* subEnt) ;
108  virtual void updateDeleteMesh (SubEntity* subEnt) ;
115  virtual void updateSwapMesh (SubEntity* subEnt) ;
122  virtual void updateSwapShader (Entity* ent) ;
131  virtual void updateSwapShaderRaytracing (Entity* ent, Shader* oldShader, Shader* newShader) ;
132 
140  void appendQueue (RenderQueue* other) ;
141 
142  // Index
146  void setIndex (unsigned int index) ;
150  unsigned int getIndex () const ;
151 
152  // Rendering queue
160  void setRenderingQueue (bool value) ;
164  bool getRenderQueue () const ;
165 
171  virtual void exportClassToTree (nkExport::Node* rootNode) override ;
177  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
178  } ;
179 }
nkGraphics::RenderQueue::setRaytraced
virtual void setRaytraced(bool value)
nkGraphics::RenderQueue::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkGraphics::RenderQueue::updateEntityNode
virtual void updateEntityNode(Entity *ent)
nkGraphics::RenderQueue::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkGraphics::RenderQueue::updateSwapShader
virtual void updateSwapShader(Entity *ent)
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkGraphics::RenderQueue::updateSwapShaderRaytracing
virtual void updateSwapShaderRaytracing(Entity *ent, Shader *oldShader, Shader *newShader)
nkGraphics::RenderQueue::addEntity
virtual Entity * addEntity()
nkGraphics::RenderQueue
A render queue, where all items that have to be rendered are queued.
Definition: RenderQueue.h:15
nkGraphics::Buffer
A buffer that will reside on the GPU.
Definition: Buffer.h:15
nkGraphics::RenderQueue::getName
nkMemory::StringView getName() const
nkGraphics::RenderQueue::eraseEntity
virtual void eraseEntity(Entity *ent)
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:14
nkGraphics::RenderQueue::appendQueue
void appendQueue(RenderQueue *other)
nkGraphics::RenderQueue::updateAddMesh
virtual void updateAddMesh(SubEntity *subEnt)
nkGraphics::RenderQueue::getAccelerationStructureBuffer
virtual Buffer * getAccelerationStructureBuffer() const
nkGraphics::RenderQueue::getEntityCount
unsigned int getEntityCount() const
nkGraphics::RenderQueue::getHidden
bool getHidden() const
nkGraphics::Entity
An entity in a render queue. It drives the shader and possible graph position for a set of renderable...
Definition: Entity.h:15
nkGraphics::RenderQueue::setHidden
void setHidden(bool value)
nkGraphics::RenderQueue::getRaytraced
bool getRaytraced() const
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkGraphics::RenderQueue::getIndex
unsigned int getIndex() const
nkGraphics::RenderQueue::setRenderingQueue
void setRenderingQueue(bool value)
nkMemory::StringView
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
nkGraphics::RenderQueue::updateSwapMesh
virtual void updateSwapMesh(SubEntity *subEnt)
nkGraphics::RenderQueue::getEntity
Entity * getEntity(unsigned int index) const
nkGraphics::RenderQueue::getRenderQueue
bool getRenderQueue() const
nkGraphics::RenderQueue::clearQueue
virtual void clearQueue()
nkGraphics::SubEntity
Holds information about a sub entity, a renderable exposing the geometry.
Definition: SubEntity.h:12
nkGraphics::RenderQueue::getRenderableCount
unsigned int getRenderableCount() const
nkGraphics::RenderQueue::setIndex
void setIndex(unsigned int index)
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::RenderQueue::setName
virtual void setName(const nkMemory::StringView &name)
nkGraphics::RenderQueue::updateDeleteMesh
virtual void updateDeleteMesh(SubEntity *subEnt)